Ez egy előző félévben kiírt, archivált téma.
A microservice-ek olyan alkalmazások, amelynek komponensei egymástól függetlenül léteznek, és jól definiált interfészeken keresztül kommunikálnak egymással. Az egyik legnagyobb kihívás felhő környezetben futtatott microservice alkalmazások esetén az alkalmazás komponensek skálázása, azaz az erőforrások dinamikus változtatása a beérkező forgalom függvényében. Egyrészt nem szeretnénk túl sok erőforrást hozzárendelni az alkalmazáshoz, mert felhő környezetben a felhasznált erőforrás után kell fizetni, másrészt túl kevés erőforrást sem szeretnénk, mert ez az alkalmazás teljesítményének romlásához vezet, ami a felhasználók elvesztését okozhatja. A megerősítéses tanulás egy nagyon elterjedt gépi tanuló módszer, amely számos területen bizonyította hatékonyságát. Az ágensek a környezet állapotából egy előre definiált akció halmazból választanak, majd a környezettől jutalmat kapnak. Ezekből az adatokból tanulják meg, hogyan kell viselkedni az adott környezetben, mi a legjobb akció egy adott állapotban. Ez a módszer alkalmazható alkalmazások menedzselésére is, ahol az állapot az alkalmazás mért metrikáiból állnak ( CPU, memória használat, beérkezett kérések száma stb.), és egy akció lehet az, hogy megnöveljük az alkalmazáshoz rendelt CPU mennyiségét. Egy nagy kihívás azonban, hogy hogyan lehet összehangolni egy microservice menedzselését, ahol a komponensek egymásra is hatással vannak, és az erőforrásokat komponensenként adjuk meg. Ebben a feladatban olyan módszereket keresünk, ahol ágensek együttműködve képesek tanulni úgy, hogy mindegyikük egy-egy alkalmazás komponens vezérléséért felel, együtt pedig biztosítani tudják a teljes alkalmazás hatékony működését.